import zh_CN from '@app/lang/zh_CN.json';
import en_US from '@app/lang/en_US.json';
import zh_TW from '@app/lang/zh_TW.json';
import ko from '@app/lang/ko.json';
import ja from '@app/lang/ja-JP.json';

export const Lang = {
  _current: localStorage['lang'] || 'zh-CN',
  _lib: {
    global: {
      'zh-CN': zh_CN,
      'en-US': en_US,
      'zh-TW': zh_TW,
      'ko-KR': ko,
      'ja-JP': ja,
    },
  },

  _fiat: {
    CNY: '¥',
    USD: '$',
    EUR: '€',
    RUB: '₽',
    VND: '₫',
    JPY: '¥',
    HKD: 'HKD',
    IDR: 'Rp',
    THB: '฿',
    KRW: '₩',
    BRL: 'R$',
  },
  _langList: ['zh-CN', 'zh-TW', 'en-US', 'ko-KR', 'ja-JP'],

  // 时间格式化
  _format: {
    'zh-CN': 'y/m/d h:i:s',
    'zh-TW': 'y/m/d h:i:s',
    'en-US': 'm/d/y h:i:s',
  },

  // 获取当前语言类型
  getLanguage() {
    return this._current;
  },

  // 获取法币符号
  getCurrencySymbol(currency) {
    return this._fiat[currency] || currency;
  },

  // 设置语言
  setLanguage(lang) {
    // 如果没有这个语言 默认英文
    if (!this._langList.includes(lang)) lang = 'en-US';
    this._current = lang;
    localStorage['lang'] = lang;
    window.location.reload();
  },

  // 获取对应语言翻译
  getGlobalLanguage(key) {
    if (this._lib.global[this._current]) {
      return this._lib.global[this._current][key];
    }
  },
};
